// obj为要移动的物体，speed为移动速度
// target为移动的终点，action为移动的方向
function move (obj, speed, target, action){
    // 开启定时器前先关闭上一个定时器
    clearInterval(obj.siv);
    var object = getComputedStyle(obj, null);
    // 获取obj当前位置
    var location = parseInt(object[action]);
        if (location > target){
            speed = -speed;
        }
    // 设置定时器
    obj.siv = setInterval(function(){
        object = getComputedStyle(obj, null);
        var oldValue = parseInt(object[action]);
        var newValue = oldValue+speed;
        if (newValue >= target && speed > 0 || newValue <= target && speed < 0){
            newValue = target;
        }
        // 修改obj的位置
        obj.style[action] = newValue+"px";
        // 设置obj的移动终点
        if (newValue == target){
            clearInterval(obj.siv);
        }
    },50);
}



// 增加一个类
function addClass(obj, cn){
    // 如果没有这个类，则添加
    if (!hasClass(obj,cn)){
        obj.className += " "+cn;
    }

}
// 判断一个对象是否含有一个类,有则返回ture,反之
function hasClass(obj, cn){
    var reg = new RegExp("\\b"+cn+"\\b");
    return reg.test(obj.className);
} 

// 移除一个类
function removeClass(obj, cn){
    var reg = new RegExp("\\b"+cn+"\\b");
    obj.className = obj.className.replace(reg, " ");
}

// 切换类操作
function changeClass (obj, cn){
    // 如果没有这个类，则添加
    if (!hasClass(obj,cn)){
        obj.className += " "+cn;
    }
    // 有则删除
    else{
        removeClass(obj, cn);
    }
}